package com.wgh.product.api.fallback;

import com.wgh.product.api.client.ProductTypeClient;
import com.wgh.product.dto.ProductTypeDTO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.List;

/**
 * 商品类型管理客户端熔断降级实现
 */
@Component
@Slf4j
public class ProductTypeClientFallback implements ProductTypeClient {

    @Override
    public ProductTypeDTO findById(Long id) {
        log.error("商品类型服务调用失败，降级处理：findById(id={})");
        return null;
    }

    @Override
    public List<ProductTypeDTO> findListByIds(List<Long> ids) {
        log.error("商品类型服务调用失败，降级处理：findListByIds(ids={})", ids);
        return new ArrayList<>();
    }

    @Override
    public List<ProductTypeDTO> findEnabledList() {
        log.error("商品类型服务调用失败，降级处理：findEnabledList()");
        return new ArrayList<>();
    }

    @Override
    public List<ProductTypeDTO> findTree(Integer status) {
        log.error("商品类型服务调用失败，降级处理：findTree(status={})", status);
        return new ArrayList<>();
    }

    @Override
    public List<ProductTypeDTO> findPage(Integer page, Integer size) {
        log.error("商品类型服务调用失败，降级处理：findPage(page={}, size={})", page, size);
        return new ArrayList<>();
    }
}